/**
 * The Community Project
 * Copyright Team1 Productions
 * 
 * Joshua Amick
 * Stephen Cunningham
 * Thema Davis
 * Tomika Dawson
 * Lucie DeCristofaro
 * 
 * All Rights Reserved.
 */

package com.domain;

import java.io.Serializable;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="profile")
public class Profile extends BaseObject implements Serializable{

	private String firstName;
	private String lastName;
	private String address1;
	private String address2;
	private String city;
	private String state;
	private String zip;
	private String secondaryEmail;
	private String phone;
	private String employer;
	private String positionDescription;
	private Timestamp employmentStartDate;
	private String education;
	private String major;
	private Timestamp graduationDate;
	private String professionalOrganizations;
	private String studentOrganizations;
	private boolean publicViewable;
	
	@Column(name="address1", length=128, nullable=true)
	public String getAddress1() {
		return address1;
	}
	public void setAddress1(String address1) {
		this.address1 = address1;
	}
	
	@Column(name="address2", length=128, nullable=true)
	public String getAddress2() {
		return address2;
	}
	public void setAddress2(String address2) {
		this.address2 = address2;
	}
	
	@Column(name="city", length=128, nullable=true)
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	
	@Column(name="education", length=512, nullable=true)
	public String getEducation() {
		return education;
	}
	public void setEducation(String education) {
		this.education = education;
	}
	
	@Column(name="employer", length=128, nullable=true)
	public String getEmployer() {
		return employer;
	}
	public void setEmployer(String employer) {
		this.employer = employer;
	}
	
	@Column(name="employment_start_date")
	public Timestamp getEmploymentStartDate() {
		return employmentStartDate;
	}
	public void setEmploymentStartDate(Timestamp employmentStartDate) {
		this.employmentStartDate = employmentStartDate;
	}
	
	@Column(name="first_name", length=2048, nullable=true)
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	
	@Column(name="graduation_date")
	public Timestamp getGraduationDate() {
		return graduationDate;
	}
	public void setGraduationDate(Timestamp graduationDate) {
		this.graduationDate = graduationDate;
	}
	
	@Column(name="last_name", length=64, nullable=true)
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	
	@Column(name="major", length=64, nullable=true)
	public String getMajor() {
		return major;
	}
	public void setMajor(String major) {
		this.major = major;
	}
	
	@Column(name="phone", length=32, nullable=true)
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Column(name="position_description", length=512, nullable=true)
	public String getPositionDescription() {
		return positionDescription;
	}
	public void setPositionDescription(String positionDescription) {
		this.positionDescription = positionDescription;
	}
	
	@Column(name="professional_organiztions", length=2048, nullable=true)
	public String getProfessionalOrganizations() {
		return professionalOrganizations;
	}
	public void setProfessionalOrganizations(String professionalOrganizations) {
		this.professionalOrganizations = professionalOrganizations;
	}
	
	@Column(name="public_viewable")
	public boolean isPublicViewable() {
		return publicViewable;
	}
	public void setPublicViewable(boolean publicViewable) {
		this.publicViewable = publicViewable;
	}
	
	@Column(name="secondary_email", length=128, nullable=true)
	public String getSecondaryEmail() {
		return secondaryEmail;
	}
	public void setSecondaryEmail(String secondaryEmail) {
		this.secondaryEmail = secondaryEmail;
	}
	
	@Column(name="state", length=64, nullable=true)
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
	
	@Column(name="student_organizations", length=2048, nullable=true)
	public String getStudentOrganizations() {
		return studentOrganizations;
	}
	public void setStudentOrganizations(String studentOrganizations) {
		this.studentOrganizations = studentOrganizations;
	}
	
	@Column(name="zip", length=16, nullable=true)
	public String getZip() {
		return zip;
	}
	public void setZip(String zip) {
		this.zip = zip;
	}
	
}
